package com.mengxj.basetype;

import java.util.Arrays;

/**
 * 正则   校验
 * ^开头，$结尾
 * 枚举法
 * 我想判断字符串中有1和14数字  [1,14]
 * 我想判断字符串中有abc和14数字  [abc,14]
 *
 * 我想判断字符串中数字  [0-9]
 * 我想判断字符串中有小写字母  [0-9a-z]
 *
 * {}
 * 花括号指定长度,
 * 当长度是1时候，可以省略。
 * 当长度是范围，比如2个或者是3个。{2，3}
 * 当长度范围是0-1的时候，可以写成?
 * 当长度0-无限，用+代替
 *
 *
 * String只有三个方法支持正则
 * split   replaceAll  matches
 *
 * springboot springcloud
 * @author mengxj
 */
public class RegexDemo {

    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "world";
        String s3 = s1 + s2;
        String s4 = "hello" + "world";
        String s5 = s1 + "world";
        System.out.println("helloworld" == s3);
        System.out.println("helloworld" == s4);
        System.out.println("helloworld" == s5);
        s3 = s3.intern();
        s5 = s5.intern();
        System.out.println("helloworld" == s3);
        System.out.println("helloworld" == s4);
        System.out.println("helloworld" == s5);
        //== 比较的是地址
        //equals 默认用的object类的equals方法，和==一样
        //但是我们可以对equals进行重写
    }

    static void demo1(){
        String mobile = "13323232323";
        boolean boo = mobile.matches("([+][86]{2}[ ])?[0-9]{11}");
        System.out.println(boo);
        String email = "12121@qq.com";
        boo = email.matches("[0-9]+@[a-z]{2}.com");
        System.out.println(boo);
        String line = "www.baidu.com";
        String[] arr = line.split("[.i]");
        System.out.println(Arrays.toString(arr));
        line = line.replaceAll("[au]", " abcd ");
        System.out.println(line);
    }
}
